Distributed switching architecture for communication module redundancy

ABSTRACT

Partner modules are assigned to a plurality of primary modules in a communications system, each partner module being adapted to route signals from the primary module to which it is assigned to a spare module in case the primary module fails. The partner modules preferrably also serve as primary modules for receiving signals from their associated communication lines. As a result, redundancy for a failed primary module is provided by a signal routing architecture that is distributed throughout the communications system.

BACKGROUND OF THE INVENTION

This invention relates to communications systems that provide a redundant module for interfacing with communication lines in case of failure of a primary interface module.

Conventional communications systems (e.g., telecommunications systems) typically include multiple communication lines that are connected to corresponding primary interface modules for receiving data on the lines. The interface modules are "field replaceable" for servicing and/or replacement in case of failure. The communications system also includes one or more spare (i.e., redundant) modules for connection to the appropriate communication lines in case of failure or servicing of a primary interface module. One known scheme for providing this redundancy uses a dedicated switching module or subsystem to detect the failure of a primary module and connect the spare module in its place to the corresponding communication line.

SUMMARY OF THE INVENTION

A general aspect of the invention is assigning partner modules to a plurality of primary modules in a communications system, each partner module being adapted to route signals from the primary module to which it is assigned to a spare module in case the primary module fails. The partner modules preferably also serve as primary modules for receiving signals from their associated communication lines.

As a result, redundancy for a failed primary module is provided by a signal routing architecture that is distributed throughout the communications system, eliminating the need for an additional dedicated switching module or subsystem. The distributed nature of the routing architecture permits the redundancy to be implemented in the same way in both large communications systems (i.e., systems having many interface modules) and small systems.

Preferred embodiments include the following features.

In one embodiment, the primary modules are arranged in pairs, and each module in each pair of modules serves as the partner module for the other module in the pair. Each primary module may be paired with another primary module. Alternatively, one of the primary modules may be paired with the spare module, which then serves as the partner module for that primary module.

In another embodiment, the primary modules and the spare module are arranged in a loop such that each one of the modules serves as the partner module for an adjacent module in the loop.

Each partner module couples signals from the communication line of the associated primary module onto a signal bus if that primary module fails, and the spare module receives the signals from the signal bus. A primary module which also serves as a partner module has a first input coupled to its communication line, and has a second input coupled to the communication line of the primary module with which it is partnered for routing signals from the communication line of that primary module onto the signal bus if the primary module fails.

When the spare module serves as the partner of one of the primary modules, the spare module has a first input coupled to the signal bus, and a second input of the spare is coupled to the communication line of the primary module with which the spare is partnered for routing signals from the communication line onto the signal bus (and back to the spare module) if the primary module fails.

In yet another embodiment, the primary modules also transmit signals on a second plurality of communication lines, and each partner module couples the spare module to the second communication line of the primary module to which the partner module is assigned in case such primary module fails.

Each partner module also detects whether the primary module with which it is partnered has failed, such as by periodically polling, and being polled by, that primary module. Each partner module stores operation configuration information for the primary module with which it is partnered and notifies the spare module of the configuration information when the primary module fails. In response, the spare module assumes the configuration of the failed primary module.

Other features and advantages of the invention will be apparent from the following description of the preferred embodiments, and from the claims.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

We first briefly describe the drawings.

FIG. 1 is a block diagram of a communications system according to a first embodiment of the invention.

FIG. 2 is a block diagram of a communications system according to a second embodiment of the invention.

FIG. 3 is a block diagram of a communications system according to a third embodiment of the invention

STRUCTURE AND OPERATIONS

Referring to FIG. 1, communications system 10 includes N replaceable primary interface modules 12₁ -12_(N) for receiving and processing signals (i.e., data) on N corresponding communication lines 14₁ -14_(N). Spare (i.e., redundant) interface module 16 normally does not receive signals on any communication line 14₁ -14_(N), but may be connected via auxiliary signal bus 18 in a manner described in detail 10 below to any communication line 14₁ -14_(N) in case of failure (or removal) of the corresponding interface module 12₁ -12_(N).

Interface modules 12₁ -12_(N) include signal processors 20₁ -20_(N), respectively, for processing the received signals. Module controllers 22₁ -22_(N) control the operation of respective signal processors 20₁ -20_(N). Fault monitors 24₁ -24_(N) monitor the operation of respective signal processors 20₁ -20_(N) and module controllers 22₁ -22_(N). Each fault monitor has a pass state and a fail state as discussed in detail below. Module controllers 22₁ -22_(N) operate with fault monitors 24₁ -24_(N) in a manner described in detail below to determine whether signal processors 20₁ -20_(N) are operating properly or have failed. Spare module 16 is identical to modules 12₁ -12_(N) and includes processor 26, module controller 28, and fault monitor 30. Module controllers 22₁ -22_(N), 28 communicate with each other and with a system controller 32 over control bus 34.

Each module 12₁ -12_(N) is assigned a partner module for detecting the failure or removal of the module 12₁ -12_(N) to which the partner is assigned and for diverting signals from the failed/removed module's communication line to spare interface module 16 via auxiliary signal bus 18. In communications system 10, modules 12₁ -12_(N) are arranged in pairs. For example, modules 12₁ -12₂ comprise one pair, modules 12_(N-1), 12_(N) another. Each module in each pair serves as the partner module for the other module in the pair. Thus, module 12₂, besides receiving and processing signals on communication line 14₂, serves as the partner of module 12₁. Likewise, module 12₁ is assigned as the partner to module 12₂. 10 Each interface module 12₁ -12_(N), 16 (e.g., module 12₁) includes primary switch 36 for selectively coupling signals applied to primary module input 38 to that module s signal processor (e.g., signal processor 20₁) under the control of the fault monitor (e.g., fault monitor 24₁) of the module. A secondary switch 40 in each module 12₁ -12_(N), 16 (e.g., module 12₁) selectively couples signals present at the secondary input 42 of that module onto auxiliary bus 18 under the control of the module controller of the module (e.g., module controller 22₁). Primary switches 36 of modules 12₁ -12_(N) are normally closed to couple signals on communication lines 14₁ -12_(N) to respective signal processors 20₁ -20_(N) ; secondary switches 40 in modules 12₁ -12_(N), on the other hand, are normally open for reasons explained below. Primary and secondary switches 36, 40 in spare module 16 are operated by fault monitor 30 and module controller 28, respectively, and both are normally open.

In operation, modules 12₁ -12_(N) receive and process signals from communication lines 14₁ -14_(N) in a conventional manner as long as all modules 12₁ -12_(N) are functioning normally. During normal operation, spare module 16 is idle. Each module 12₁ -12_(N) periodically monitors (polls) its partner for faults via control bus 34 and is likewise periodically monitored (polled) for failure by its partner. For example, odd-numbered modules (e.g., modules 12₁ 12_(N-1), where N is an even number) are polled by their even-numbered partners (e.g., modules 12₂, 12_(N)) and, if operating correctly, send a response to the even-numbered partners over control bus 34. An odd numbered module determines that its even-numbered partner is operating correctly if the odd-numbered module receives a poll within predetermined time interval. The even numbered module determines that its odd numbered partner is operating properly if the even numbered module receives a response to the poll within the predetermined time interval. This procedure is repeated periodically whenever system 10 is operating.

As an example of this polling procedure, consider partner modules 12₁, 12₂. When system 10 is started, the module controller in one of these modules (e.g., controller 22₁ in module 12₁) polls partner module 12₂ by transmitting a data sequence called a polling protocol to module controller 22₂ If signal processor 20₂ and module controller 22₂ are operating properly, controller 22₂ sends a response indicating such proper operation to module controller 22₁. Module controller 22₂ periodically sends a reset command to keep the fault monitor in the pass state.

Module controller 22₁ analyzes the response to its poll from module controller 22₂ to determine whether the response indicates that module 12₂ is in the pass state. If so, module controller 22₁ repeats the cycle in the same manner described above. Note that the response from module 12₂ constitutes a "poll" of module 12₁, the "response" to which is the next poll by module 12₁ of module 12₂.

Module failure can be detected in one of two ways during the polling procedure. Again using partner modules 12₁, 12₂ as examples, module 12₂ is deemed to be malfunctioning if module controller 22₂ either completely fails to respond to the polling protocol from module 12₁ or responds with a fault status.

When signal processor 20₂ fails to operate, fault monitor 24₂ detects this failure and sets its status to indicate that processor 20₂ is malfunctioning. Module controller 22₂ learns of the failure by reading the status of fault monitor 24₂ and sends a response to module controller 22₁ indicating a fault status. Module controller 22₂ also sends a set command to fault monitor 24₂ to change its state from pass to fail and cause fault monitor 24₂ to open primary switch 36 in module 12₂. When module controller 22₁ reads the response from controller 22₂ indicating the fault, it closes the secondary switch 40 in module 12₁. As a result, signals on line 14₂ are diverted from failed module 12₂, through secondary switch 40 in its partner module 12₁, and onto auxiliary signal bus 18.

If module controller 22₂ fails to send a reset command to fault monitor 24₂ within a predetermined time, fault monitor 24₂ determines that controller 22₂ has failed and sets itself to the fault state, thereby preventing module 12₂ from responding to subsequent polls from module controller 22₁. Fault monitor 24₂ then opens primary switch 36 in module 12₁, decoupling signal processor 20₂ from communication line 14₂. Module controller 22₁, upon failing to receive a response within a predetermined time interval, would determine that partner module 12₂ is missing or severely malfunctioning, and close secondary switch 40 in module 12₁.

When module 12₂ has failed (or is removed) as described above, the module controller 22₁ in its partner module 12₁ notifies module controller 28 in spare module 16 and transmits data to module controller 28 that describes the "configuration" of signal processor 20₂ in failed module 12₂. Each module controller 22₁ -22_(N) stores data that describe the configuration of the signal processor in its module and the configuration of the partner module s signal processor.

For example, module controller 22₁ stores configuration data for signal processor 20₁ and signal processor 20₂, and module controller 22₂ likewise stores data on the configurations of signal processors 20₁, 20₂. The configuration data for a given signal processor (e.g., signal processor 20₂) includes information identifying the interface with the module s communication line 14₂, the type of process being run on signal processor 20₂, and the destination in system 10 where the output of signal processor 20₂ is to be sent over line 14₂.

Spare module controller 28 responds to the configuration data from module controller 22₁ by causing spare signal processor 26 to assume the specified configuration and by resetting the response timer in spare fault monitor 30. Primary switch 36 in spare module 16 is then closed by fault monitor 36, thereby completing the rerouting of signals on communication line 14₂ to spare signal processor 26 via auxiliary signal bus 18 without any interruption in service.

The rerouting operation is the same regardless of which module in which pair of modules fails. For example, if module 12_(N) fails, fault monitor 24_(N) opens primary switch 36 in module 12_(N), and module controller 22_(N-1) closes secondary switch 40 in module 12_(N-1). Module controller 22_(N-1) sends the configuration data of signal processor 20_(N) to spare module controller 28, which causes spare signal processor 26 to assume that configuration and causes spare fault monitor 30 to close primary switch 36. Data on line 14_(N) is thereby routed via partner module 12_(N-1) and auxiliary signal bus 18 to signal processor 26 in spare module 16.

Other embodiments are within the following claims.

For example, the number, N, of interface modules 12₁ -12_(N) may be odd rather than even. In this case, spare module 16 would also serve as the partner module for the module not otherwise paired (e.g., module 12_(N)). The secondary input 42 of spare module 16 is connected to communication line 14_(N) (see FIG. 2). Spare module 16 would poll partner module 12_(N) in the same manner as discussed above. If module controllers 22_(N), 28 determine that signal processor 20_(N) has failed, spare module controller 28 closes secondary switch 40 in spare module 16 and causes spare fault monitor 30 to close primary switch 36, and fault monitor 24_(N) causes primary switch 36 of failed module 12_(N) to open. Signals on line 14_(N) thus are coupled through switch 40 in spare module 16 onto auxiliary signal bus 18 to spare signal processor 26 via spare module switch 36. Module controller 22_(N) identifies module 12_(N) as the failed module, and spare module 16 assumes the configuration of module 12_(N) in response to the configuration data stored in spare module controller 28.

Referring to FIG. 2, the distributed switching scheme of the invention can be used with other module configurations. In communications system 100, modules 112₁ -112_(N), which receive signals on respective communications lines 114₁ -114_(N), are connected in a "loop" configuration with spare module 116. In this arrangement, each module is assigned to be the partner of the two modules (a "client" module and an "agent" module) disposed on each side of the partner module. An agent module controls the secondary switch 140 of its client module. For example, because module 112₂ controls secondary switch 140 of module 112₁, module 112₂ is the agent of module 112₁. The secondary switch 140 of module 112₂ is controlled by module 112₃, and thus module 112₂ is the client of module 112₃. Likewise, module 112_(N) is the agent of module 112_(N-1) (not shown).

The secondary input 142 of each module applies signals to secondary switch 140 from the communication line of its client module. For example, secondary switch 140 in module 112₂ receives signals from communication line 114₁. The outputs of all secondary switches 140 are connected to auxiliary signal bus 118. The loop is closed by connecting the primary input 138 of spare module 116 and the secondary input 142 of the first module 112₁ in the loop to auxiliary signal bus 118. As before, during normal operation primary and secondary switches 136, 140 in modules 112₁ -112_(N) are normally closed and open, respectively, and both switches 136, 140 in spare module 116 are open. Each module's switches are controlled by that module s fault monitor (i.e., 124₁ -124_(N), 130) and module controller (i.e., 122₁ -122_(N), 128) in the same manner as described above, and the agent modules poll their client modules over control bus 134 using the same procedure as discussed above.

In operation, when one of the modules (e.g., module 112₁) indicates its failure, either by not responding to the poll from its agent module (e.g., module 112₂) or responding with a fault status, the response timer in fault monitor 124₁ times-out, causing fault monitor 124₁ to open primary switch 136 of module 112₁. Module controller 122₂ closes secondary switch 140 of module 112₂ and sends the configuration data of signal processor 120₁ to module controller 128 in spare module 116. Spare module 126 configures spare signal processor 126 according to the configuration data and causes spare fault monitor 130 to close spare module primary switch 136. Secondary switch 128 in spare module 116 is maintained open. The data on communication line 114₁. is thus routed through module 112₂, onto auxiliary signal bus 118, and is applied to signal processor 126 in spare module 116.

Referring to FIG. 3, the distributed switching architecture of the invention can also be used in a communications system 200 in which interface modules 212₁ -212_(N) are connected between network 202 and equipment 204₁ -204_(N) via network lines 214a₁ -214a_(N) and equipment lines 214b₁ -214b_(N), respectively. The network side includes an auxiliary signal bus 218a, and a separate auxiliary signal bus 218b is provided for the equipment side of the system.

Each module 212₁ -212_(N) includes a signal processor 220₁ -220_(N) and two sets of primary and secondary switches; primary switch 226a and secondary switch 228a on the network side, and primary and secondary switches 226b, 228b on the equipment side. The primary switches 226a, 226b of each module (e.g., module 212₁) are controlled by the fault monitor (e.g., fault monitor 224₁) and the module controller (e.g.. module controller 222₁). respectively, of that module.

Any one of interface modules 212₁ -212_(N), for example, module 212_(N), may be arbitrarily designated as the spare module. Module controller 222_(N) and fault monitor 224_(N) in designated spare module 212_(N) normally decouple module 212_(N) from lines 214a_(N), 214b_(N) by placing its primary switches 226a, 226b in position "2". Primary switches 226a, 226b in the active modules (e.g., modules 212₁, 212₂) are normally in position "1" to couple signal processors 220₁, 220₂ of such interface modules in series with their respective communication lines (e.g., lines 214a_(l), 214b₁ and 214a₂, 214b₂). Secondary switches 228a, 228b in-all modules 212₁ -212_(N) are all normally deactivated in position "1" by module controllers 222₁ -222_(N), respectively.

Modules 212₁ -212_(N) are connected in a "loop" configuration, with each module serving as the agent for one adjacent module and the client for the other adjacent module. For example, module 212₂ is the agent for module 212₁ and is the client of module 212₃ (not shown). Likewise, module 212₁ serves as the agent for module 212_(N).

When an active module is removed or malfunctions (as detected by, for example, the polling procedure discussed above) the fault monitor in the malfunctioning module opens its pair of primary switches 226a, 226b, and the module controller in the failed module's agent closes the secondary switches 228a, 228b in its client module, thereby decoupling the failed client module from its equipment and network 202 and coupling the communication lines of the failed module onto auxiliary signal buses 218a, 218b.

The module controller in the agent module also notifies module controller 222_(N) in spare module 212_(N) of the failure of its client and sends the configuration of the signal processor of the failed module to spare module controller 222_(N) via control bus 230. Module controller 222_(N) configures signal processor 220_(N) accordingly and causes fault monitor 224_(N) to change switches 226a, 226b to position "3", thereby coupling signal processor 220_(N) to auxiliary signal buses 218a, 218b so that spare module 212_(N) replaces the failed module in the system.

For example, if module 212₁ fails, the 15 response timer in fault monitor 224₁ times-out and fault monitor 224₁ deactivates primary switches 226a, 226b in module 212₁ to position "2", decoupling module 212₁ from communication lines 214a₁, 214b₁. Module controller 222₂ actuates secondary switches 228a, 226b in module 212₂ to position "2", thereby coupling signals on communication lines 214a₁, 214b₁ onto auxiliary signal buses 218a, 218b, respectively. Module controller 222₂ also sends the configuration of signal processor 220₁ to spare module controller 222_(N) via control bus 230.

Module controller 222_(N) sets the configuration of spare signal processor 220_(N) to be the same as that of signal processor 220₁ and causes spare fault monitor 224_(N) to change primary switches 226a, 226b in spare module 212_(N) to position "3". As a result, the signals on auxiliary buses 218a, 218b are coupled to signal processor 220_(N) and spare module 212_(N) is inserted between network 202 and equipment 204₁ in place of failed module 212₁. 

We claim:
 1. In a communication system of the kind in which a plurality of primary communications modules receive signals on a corresponding plurality of communication lines, apparatus for providing redundancy in case of a failure of one of said primary modules, comprisinga spare communications module for receiving signals from the communication line corresponding to a filed primary module, and a plurality of partner modules assigned to said plurality of primary modules, each partner module comprising circuitry for coupling signals from the communication line of the primary module to which the partner module is assigned to said spare module in case of failure of said primary module.
 2. The communications system of claim 1 wherein at least one of said primary modules also serves as the partner module of another one of said primary modules.
 3. The communications system of claim 2 wherein said primary modules are arranged in pairs, each module in each pair of modules serving as the partner module for the other module in the pair.
 4. The communications system of claim 3 wherein each one of the primary modules is paired with another one of the primary modules.
 5. The communications system of claim 3 wherein one of said primary modules is paired with said spare module, said spare module being assigned as the partner module to said one primary module.
 6. The communications system of claim 2 wherein said primary modules and said spare module are arranged in a loop such that each one of said modules serves as the partner module for an adjacent module in the loop.
 7. The communications system of claim 2 further comprisinga signal bus, the partner modules each being adapted to couple signals from the communication line of the primary module to which the partner is assigned onto the signal bus if said primary module fails, and the spare module being adapted to receive the signals from said signal bus.
 8. The communication system of claim 7 wherein said at least one of said primary modules has a first input coupled to its communication line and a second input. coupled to the communication line of the primary module with which it is partnered, for routing signals from the communication line of said primary module onto said signal bus if said primary module fails.
 9. The communications system of claim 8 wherein said spare module is assigned as the partner of one of said primary modules, said spare module having a first input coupled to said signal bus and a second input, coupled to the communication line of said one primary module, for routing signals from said communication line onto said signal bus if said one primary module fails.
 10. The communications system of claim 1 wherein said primary modules further transmit signals on a second plurality of communication lines, said spare module being adapted to transmit signals on the one of the second plurality of communication lines corresponding to the failed primary module,each said partner module being adapted to couple said spare module to the second communication line of the primary module to which the partner module is assigned in case of failure of said primary module.
 11. The communications system of claim 1 wherein each partner module comprises circuitry for detecting whether the primary module with which it is partnered has failed.
 12. The communications system of claim 11 wherein each partner module is adapted to periodically poll the primary module with which it is partnered, and to be periodically polled by said primary module, to detect whether said primary module has failed.
 13. The communications system of claim 12 where each partner module includes storage for operational configuration information for the primary module with which it is partnered and further comprises circuitry for notifying said spare module of said configuration information when said primary module fails.
 14. The communications system of claim 13 wherein said spare module includes means for causing said spare module to assume the configuration of said failed primary module in response to said configuration information.
 15. In a communications system of the kind in which a plurality of primary communications modules receive signals on a corresponding plurality of communication lines, a method of providing redundancy in case of a failure of one of said primary modules, comprisingproviding a spare communications module for receiving signals from the communication line corresponding to a failed primary module, assigning partner modules to said primary modules, and enabling each partner module to couple signals from the communication line of the primary module to which the partner module is assigned to said spare module in case of failure of said primary module.
 16. The method of claim 15 further comprising assigning at least one of said primary modules to be the partner module of another one of the primary modules.
 17. In a communication system of the kind in which a plurality of primary communications modules receive signals on a corresponding plurality of communication lines, apparatus for providing redundancy in case of a failure of one of said primary modules, comprisinga spare communications module for receiving signals from the communication line corresponding to a failed primary module, and at least some of said primary modules being assigned to serve as a plurality of partner modules, each partner module comprising circuitry for coupling signals from the communication line of the primary module to which the partner module is assigned to said spare module in case of failure of said primary module while said partner module continues to receive signals from its communication line.
 18. In a communications system of the kind in which a plurality of primary communication modules receive signals on a corresponding plurality of communication lines, apparatus for providing redundancy in case of a failure of one of said primary modules, comprisinga spare communications module for receiving signals from the communication line corresponding to a failed module, and a plurality of partner modules assigned to said plurality of primary modules, each partner module comprising circuitry for detecting whether the primary module to which said partner module is assigned has failed and, if so, coupling signals from the communication line of said primary module to said spare module.
 19. In a communications system of the kind in which a plurality of primary communications modules receive signals on a corresponding plurality of communication lines, apparatus for providing redundancy in case of a failure of one of said primary modules, comprisinga spare communications module for receiving signals from the communication line corresponding to a failed module, and a plurality of partner modules assigned to said plurality of primary modules, each partner module comprising circuitry for coupling signals from the communication line of primary module to which said partner module is assigned through said partner module to said spare module in case of failure of said primary module.
 20. The communication system of claim 1, 17, 18, or 19 configured so that said spare module receives communication signals only from the communication line corresponding to a failed primary module.
 21. The communication system of claim 1, 17, 18, or 19 including only a single said spare communications module for said plurality of primary modules. 